package com.cskaoyan.com.generic.generic5;

import com.cskaoyan.com.generic.generic1.MyDBLinkedList;

public class Demo1 {
    public static void main(String[] args) {

        User user = new User();
        Object obj = new Object();
        // 父类引用指向子类对象
        obj = user;


        User[] users = new User[10];
        Object[] objs = new Object[10];
        // 不是:父类引用指向子类对象
        // 协变: 父类型的数组指向子类型的数组(先这样记)
        objs = users;

        objs[0] = "zs";


        // 泛型是不允许协变的
        MyDBLinkedList<String> listStr = new MyDBLinkedList<String>();
        MyDBLinkedList<Object> listObj = new MyDBLinkedList<Object>();
        // 泛型是不允许协变的
        // listObj = listStr; // 报错



        // 为什么在设计泛型的时候不允许协变


    }
}

class User{
    String name;
    int age;
}